git-annex.git
3 years agochange retrieveExportWithContentIdentifier to take a list of ContentIdentifier
Joey Hess [Tue, 20 Sep 2022 17:15:31 +0000 (13:15 -0400)]
change retrieveExportWithContentIdentifier to take a list of ContentIdentifier

This partly fixes an issue where there are duplicate files in the
special remote, and the first file gets swapped with another duplicate,
or deleted. The swap case is fixed by this, the deleted case will need
other changes.

This makes retrieveExportWithContentIdentifier take a list of allowed
ContentIdentifier, same as storeExportWithContentIdentifier,
removeExportWithContentIdentifier, and
checkPresentExportWithContentIdentifier.

Of the special remotes that support importtree, borg is a special case
and does not use content identifiers, S3 I assume can't get mixed up
like this, directory certainly has the problem, and adb also appears to
have had the problem.

Sponsored-by: Graham Spencer on Patreon
3 years agocomment
Joey Hess [Tue, 20 Sep 2022 16:56:16 +0000 (12:56 -0400)]
comment

3 years agocomment
Joey Hess [Tue, 20 Sep 2022 16:39:40 +0000 (12:39 -0400)]
comment

3 years agocomment
Joey Hess [Tue, 20 Sep 2022 16:20:33 +0000 (12:20 -0400)]
comment

3 years ago(no commit message)
nobodyinperson [Tue, 20 Sep 2022 12:11:03 +0000 (12:11 +0000)]

3 years agoAdded a comment
jgoerzen [Mon, 19 Sep 2022 14:49:02 +0000 (14:49 +0000)]
Added a comment

3 years agoAdded a comment
jgoerzen [Mon, 19 Sep 2022 13:55:07 +0000 (13:55 +0000)]
Added a comment

3 years agoAdded a comment
Gus [Mon, 19 Sep 2022 13:49:15 +0000 (13:49 +0000)]
Added a comment

3 years agoAdded a comment
Lukey [Mon, 19 Sep 2022 10:03:39 +0000 (10:03 +0000)]
Added a comment

3 years ago(no commit message)
Gus [Sun, 18 Sep 2022 12:21:07 +0000 (12:21 +0000)]

3 years ago(no commit message)
Gus [Sun, 18 Sep 2022 12:20:16 +0000 (12:20 +0000)]

3 years agoAdded a comment
eph@6377f195575d4a04abc70f20e0b00dffcc597d00 [Sat, 17 Sep 2022 21:19:13 +0000 (21:19 +0000)]
Added a comment

3 years agodeal with ignoreinode config setting
Joey Hess [Fri, 16 Sep 2022 18:11:25 +0000 (14:11 -0400)]
deal with ignoreinode config setting

Improve handling of directory special remotes with importtree=yes whose
ignoreinode setting has been changed. (By either enableremote or by
upgrading to commit 3e2f1f73cbc5fc10475745b3c3133267bd1850a7.)

When getting a file from such a remote, accept the content that would have
been accepted with the previous ignoreinode setting.

After a change to ignoreinode, importing a tree from the remote will
re-import and generate new content identifiers using the new config. So
when ignoreinode has changed to no, the inodes will be learned, and after
that point, a change in an inode will be detected as a change. Before
re-importing, a change in an inode will be ignored, as it was before the
ignoreinode change. This seems acceptble, because the user can re-import
immediately if they urgently need to add inodes. And if not, they'll
do it sometime, presumably, and the change will take effect then.

Sponsored-by: Erik Bjäreholt on Patreon
3 years agocomments
Joey Hess [Fri, 16 Sep 2022 17:40:27 +0000 (13:40 -0400)]
comments

3 years agocomment
Joey Hess [Fri, 16 Sep 2022 17:08:14 +0000 (13:08 -0400)]
comment

3 years agoimprove wording
Joey Hess [Fri, 16 Sep 2022 16:52:00 +0000 (12:52 -0400)]
improve wording

3 years agocomment
Joey Hess [Fri, 16 Sep 2022 16:48:48 +0000 (12:48 -0400)]
comment

3 years agocomment
Joey Hess [Fri, 16 Sep 2022 16:39:43 +0000 (12:39 -0400)]
comment

3 years agoAdded a comment
eph@6377f195575d4a04abc70f20e0b00dffcc597d00 [Fri, 16 Sep 2022 09:30:44 +0000 (09:30 +0000)]
Added a comment

3 years agoAdded a comment
prancewit [Fri, 16 Sep 2022 08:39:09 +0000 (08:39 +0000)]
Added a comment

3 years agocomment
Joey Hess [Thu, 15 Sep 2022 19:18:45 +0000 (15:18 -0400)]
comment

3 years agovicfg: Include mincopies configuration
Joey Hess [Thu, 15 Sep 2022 19:11:59 +0000 (15:11 -0400)]
vicfg: Include mincopies configuration

Sponsored-by: k0ld on Patreon
3 years agogeneral purpose design for this todo
Joey Hess [Thu, 15 Sep 2022 18:05:47 +0000 (14:05 -0400)]
general purpose design for this todo

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
3 years agobelated response
Joey Hess [Thu, 15 Sep 2022 16:54:52 +0000 (12:54 -0400)]
belated response

3 years agocomment
Joey Hess [Thu, 15 Sep 2022 16:39:07 +0000 (12:39 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 15 Sep 2022 16:27:41 +0000 (12:27 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoAdded a comment
Lukey [Thu, 15 Sep 2022 15:55:32 +0000 (15:55 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 15 Sep 2022 14:24:18 +0000 (10:24 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years ago(no commit message)
eph@6377f195575d4a04abc70f20e0b00dffcc597d00 [Thu, 15 Sep 2022 11:55:56 +0000 (11:55 +0000)]

3 years agoAdded a comment
Lukey [Wed, 14 Sep 2022 15:09:20 +0000 (15:09 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 14 Sep 2022 01:36:16 +0000 (21:36 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoclosing
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Tue, 13 Sep 2022 23:32:49 +0000 (23:32 +0000)]
closing

3 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Tue, 13 Sep 2022 23:32:01 +0000 (23:32 +0000)]
Added a comment

3 years agoAdded a comment
prancewit [Tue, 13 Sep 2022 21:36:38 +0000 (21:36 +0000)]
Added a comment

3 years agoremoved
prancewit [Tue, 13 Sep 2022 21:34:39 +0000 (21:34 +0000)]
removed

3 years agoAdded a comment
prancewit [Tue, 13 Sep 2022 21:32:45 +0000 (21:32 +0000)]
Added a comment

3 years ago(no commit message)
pat [Tue, 13 Sep 2022 21:15:33 +0000 (21:15 +0000)]

3 years agoAdded a comment
pat [Tue, 13 Sep 2022 21:14:03 +0000 (21:14 +0000)]
Added a comment

3 years agoAdded a comment: My current use case
prancewit [Tue, 13 Sep 2022 19:45:23 +0000 (19:45 +0000)]
Added a comment: My current use case

3 years agomention that whereis --all skips dead keys
Joey Hess [Tue, 13 Sep 2022 19:29:06 +0000 (15:29 -0400)]
mention that whereis --all skips dead keys

I looked at all man pages with --all, and this was the only one that
needs to add this disclaimer. Others like get and drop obviously
won't operate on dead keys anyway, because a dead key does not have any
content located anywhere.

3 years agoimprove wording
Joey Hess [Tue, 13 Sep 2022 19:28:57 +0000 (15:28 -0400)]
improve wording

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 19:13:06 +0000 (15:13 -0400)]
comment

3 years agoupdate to work with modern git
Joey Hess [Tue, 13 Sep 2022 19:09:02 +0000 (15:09 -0400)]
update to work with modern git

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 19:07:58 +0000 (15:07 -0400)]
comment

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 18:58:45 +0000 (14:58 -0400)]
comment

3 years agofix reversion on skipping dead keys in --all/bare
Joey Hess [Tue, 13 Sep 2022 18:38:13 +0000 (14:38 -0400)]
fix reversion on skipping dead keys in --all/bare

Fix a reversion that made dead keys not be skipped when operating on all
keys via --all or in a bare repo. (Introduced in version 8.20200720)

Also, improved the documentation of git-annex-dead, it does not only apply
to fsck --all.

Also, made git-annex fsck, when run on a file whose key is dead, display
that. Before, it displayed that only when run with --all, but with this
fix, it skips dead keys with --all. But it can still be run on a file that
uses a dead key, and displaying "This key is dead" explains to the user
why it does not consider missing content for it to be a problem.

Sponsored-by: k0ld on Patreon
3 years agocomment
Joey Hess [Tue, 13 Sep 2022 18:17:01 +0000 (14:17 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 13 Sep 2022 18:13:31 +0000 (14:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 18:13:19 +0000 (14:13 -0400)]
comment

3 years agoAdded a comment
yarikoptic [Tue, 13 Sep 2022 18:02:35 +0000 (18:02 +0000)]
Added a comment

3 years agoAdded a comment: re: many small files
Ilya_Shlyakhter [Tue, 13 Sep 2022 17:28:29 +0000 (17:28 +0000)]
Added a comment: re: many small files

3 years agoAdded a comment: many small files
Ilya_Shlyakhter [Tue, 13 Sep 2022 17:20:45 +0000 (17:20 +0000)]
Added a comment: many small files

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 13 Sep 2022 17:19:24 +0000 (13:19 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 17:19:18 +0000 (13:19 -0400)]
comment

3 years agoAdded a comment: re: How to forget keys that get can't find
Ilya_Shlyakhter [Tue, 13 Sep 2022 17:16:52 +0000 (17:16 +0000)]
Added a comment: re: How to forget keys that get can't find

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 17:08:41 +0000 (13:08 -0400)]
comment

3 years agocomment
Joey Hess [Tue, 13 Sep 2022 16:49:49 +0000 (12:49 -0400)]
comment

3 years agocomments
Joey Hess [Tue, 13 Sep 2022 16:46:05 +0000 (12:46 -0400)]
comments

3 years agoAdded a comment
prancewit [Tue, 13 Sep 2022 11:19:54 +0000 (11:19 +0000)]
Added a comment

3 years agoAdded a comment
Atemu [Tue, 13 Sep 2022 09:53:48 +0000 (09:53 +0000)]
Added a comment

3 years ago(no commit message)
prancewit [Mon, 12 Sep 2022 19:06:11 +0000 (19:06 +0000)]

3 years agoAdded a comment
pat [Sun, 11 Sep 2022 17:11:36 +0000 (17:11 +0000)]
Added a comment

3 years agoAdded a comment: re: How to forget keys that get can't find?
Ilya_Shlyakhter [Sun, 11 Sep 2022 16:43:47 +0000 (16:43 +0000)]
Added a comment: re: How to forget keys that get can't find?

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 21:39:59 +0000 (21:39 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 21:19:42 +0000 (21:19 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 21:07:30 +0000 (21:07 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 21:04:30 +0000 (21:04 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 21:00:18 +0000 (21:00 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 20:59:30 +0000 (20:59 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 20:15:52 +0000 (20:15 +0000)]

3 years ago(no commit message)
pat [Sat, 10 Sep 2022 20:14:51 +0000 (20:14 +0000)]

3 years agoAdded a comment
jgoerzen [Sat, 10 Sep 2022 00:38:17 +0000 (00:38 +0000)]
Added a comment

3 years agoAdded a comment
jgoerzen [Sat, 10 Sep 2022 00:37:45 +0000 (00:37 +0000)]
Added a comment

3 years ago(no commit message)
jgoerzen [Sat, 10 Sep 2022 00:37:09 +0000 (00:37 +0000)]

3 years agoAdded a comment
jgoerzen [Sat, 10 Sep 2022 00:32:57 +0000 (00:32 +0000)]
Added a comment

3 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Fri, 9 Sep 2022 20:46:31 +0000 (20:46 +0000)]
Added a comment

3 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Fri, 9 Sep 2022 20:45:13 +0000 (20:45 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 9 Sep 2022 20:08:13 +0000 (16:08 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agodon't force use of conduit in withUrlOptionsPromptingCreds
Joey Hess [Fri, 9 Sep 2022 20:06:47 +0000 (16:06 -0400)]
don't force use of conduit in withUrlOptionsPromptingCreds

Use curl for downloads from git remotes when annex.url-options and other
git configs are set.

If the url needs a password, curl will fail, and git credential will not be
used to prompt for it. But the user can set --netrc in url-options and
put the password in the netrc file.

This also means that url-options settings like -4 will take effect.
That was the case before commit 1883f7ef8f9f617c60832c7f0794b54515fc652d
forced conduit to be used.

3 years agoAdded a comment: Using git-annex on NTFS with WSL2
HiDefender [Fri, 9 Sep 2022 19:24:56 +0000 (19:24 +0000)]
Added a comment: Using git-annex on NTFS with WSL2

3 years agocomment
Joey Hess [Fri, 9 Sep 2022 19:15:54 +0000 (15:15 -0400)]
comment

3 years agoclose
Joey Hess [Fri, 9 Sep 2022 18:53:26 +0000 (14:53 -0400)]
close

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 9 Sep 2022 18:46:55 +0000 (14:46 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoavoid redundant prompt for http password in git-annex get that does autoinit
Joey Hess [Fri, 9 Sep 2022 18:43:43 +0000 (14:43 -0400)]
avoid redundant prompt for http password in git-annex get that does autoinit

autoEnableSpecialRemotes runs a subprocess, and if the uuid for a git
remote has not been probed yet, that will do a http get that will prompt
for a password. And then the parent process will subsequently prompt
for a password when getting annexed files from the remote.

So the solution is for autoEnableSpecialRemotes to run remoteList before
the subprocess, which will probe for the uuid for the git remote in the
same process that will later be used to get annexed files.

But, Remote.Git imports Annex.Init, and Remote.List imports Remote.Git,
so Annex.Init cannot import Remote.List. Had to pass remoteList into
functions in Annex.Init to get around this dependency loop.

3 years agocache credentials in memory when doing http basic auth to a git remote
Joey Hess [Fri, 9 Sep 2022 17:53:38 +0000 (13:53 -0400)]
cache credentials in memory when doing http basic auth to a git remote

When accessing a git remote over http needs a git credential prompt for a
password, cache it for the lifetime of the git-annex process, rather than
repeatedly prompting.

The git-lfs special remote already caches the credential when discovering
the endpoint. And presumably commands like git pull do as well, since they
may download multiple urls from a remote.

The TMVar CredentialCache is read, so two concurrent calls to
getBasicAuthFromCredential will both prompt for a credential.
There would already be two concurrent password prompts in such a case,
and existing uses of `prompt` probably avoid it. Anyway, it's no worse
than before.

3 years ago(no commit message)
jgoerzen [Fri, 9 Sep 2022 17:28:06 +0000 (17:28 +0000)]

3 years agoAdded a comment
yarikoptic [Fri, 9 Sep 2022 16:51:47 +0000 (16:51 +0000)]
Added a comment

3 years agocomment
Joey Hess [Fri, 9 Sep 2022 16:39:28 +0000 (12:39 -0400)]
comment

3 years agocomment
Joey Hess [Fri, 9 Sep 2022 16:30:46 +0000 (12:30 -0400)]
comment

3 years agoreporting flaky tests on ndoli
yarikoptic [Thu, 8 Sep 2022 15:01:50 +0000 (15:01 +0000)]
reporting flaky tests on ndoli

3 years agoAdded a comment: git-credential-netrc
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Thu, 8 Sep 2022 02:02:40 +0000 (02:02 +0000)]
Added a comment: git-credential-netrc

3 years ago(no commit message)
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Thu, 8 Sep 2022 01:10:06 +0000 (01:10 +0000)]

3 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Thu, 8 Sep 2022 00:28:32 +0000 (00:28 +0000)]
Added a comment

3 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Wed, 7 Sep 2022 23:22:40 +0000 (23:22 +0000)]
Added a comment

3 years agoinitial todo on multiple passwords entry for get
yarikoptic [Tue, 6 Sep 2022 21:02:01 +0000 (21:02 +0000)]
initial todo on multiple passwords entry for get

3 years agoAdded a comment
jgoerzen [Mon, 5 Sep 2022 23:57:01 +0000 (23:57 +0000)]
Added a comment

3 years agoAdded a comment
jgoerzen [Mon, 5 Sep 2022 22:01:24 +0000 (22:01 +0000)]
Added a comment

3 years agoAdded a comment
jgoerzen [Mon, 5 Sep 2022 18:44:01 +0000 (18:44 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 5 Sep 2022 18:36:32 +0000 (14:36 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Mon, 5 Sep 2022 18:35:24 +0000 (14:35 -0400)]
comment